Various aspects of the present invention relate generally to software version selection, and in particular, to the dynamic selection of a of software version with minimal or no interruption to the supported process or service during a version change.
Middleware allows multiple processes running on one or more machines to interact. Accordingly, middleware is useful in supporting complex distributed applications, such as transaction systems and messaging-and-queuing systems. As an example, middleware in the form of an Online Transaction Processing (OLTP) system is often used to support key business processes and services. For instance, an online transaction processing system may be utilized to facilitate and manage transaction-oriented applications that capture new data, update existing data, handle data entry and retrieval, etc., within an order-entry system. As another example, middleware in the form of a message queuing system may be utilized to facilitate program to program communication by writing and retrieving application specific messages to and from queues, without necessarily requiring a dedicated logical connection between communicating programs.
Middleware, including modern OLTP systems, message and queuing systems, etc., typically support transactions that span a network and may cross one or more domains controlled by different entities. As such, middleware applications, such as OLTP applications and message and queuing applications, are typically implemented using client/server processing and brokering that allow transactions to run on different computer platforms within a network. Accordingly, software upgrades to such middleware systems usually drive a requirement that the applications are shut down, taking associated applications off-line to allow software installation and configuration where necessary.